Cover_19-6_gruen_low

Schweizer Fachzeitschrift
für Publishing und Digitaldruck


Heft-Archiv >> 2007 >> Publisher 2-07 >> Prepress >> InDesign und XML

InDesign und XML

Technisch-kreatives Zusammenspiel

XML ist in aller Munde. Adobe hat die XML-Funktionen mit InDesign CS3 massiv ausgebaut und die Strategie geändert. Ein Überblick über XML und was InDesign CS3 in Sachen XML zu bieten hat.

HAEME ULRICH «Können Sie XML?», wurde kürzlich ein technisch versierter Druckvorstufenkunde von uns gefragt. XML, die extensible Markup Language, gilt bei Auftraggebern häufig als die Lösung für alle Datenprobleme der Welt, obschon dies in der Praxis nicht so ist.

Was heisst das für Sie? Als Dienstleis­ter müssen Sie XML verstehen sowie die Vorteile und Grenzen kennen, um Kunden zu beraten und schöne Projekte durchziehen zu können. In InDesign spielt XML seit der Version 2.0 eine Rolle. Die XML-Unterstützung wurde mit InDesign CS1 und CS2 besser. Und jetzt mit CS3 ist XML in InDesign besonders attraktiv.

Das ist XML

XML ist grundsätzlich einfach und auch für Leute ohne Programmierkenntnisse zu verstehen. XML ist eine Auszeichnungssprache, eine Vereinfachung von SGML (Standard Generalized Markup Language) und daher verwandt mit HTML. XML beschreibt nur die Struktur von Daten, nie das Aussehen. Im Fall von InDesign steuern Sie das Aussehen über Absatz- und Zeichenformate.

XML ist – wie der Name schon sagt – erweiterbar. Als Anwender können Sie im Gegensatz zu HTML eigene Tags definieren. Wollen Sie eine Adress­kartei führen, könnten die Tags «adresse», «vorname» und «name» heissen. Während Tags bei einem Produktkatalog «produkt», «infos» und «bestellnummer» sein könnten. Genau das macht XML so mächtig. XML lässt sich an den Verwendungszweck anpassen.

XML im Einsatz für InDesign

In InDesign finden Sie XML an verschiedenen Stellen. Da ist zum einen das InDesign Interchange Format (inx). Ein Abbild der InDesign-Datei als XML, ergänzt mit Adobe-eigenen Erweiterungen. Gebraucht wird es, um Dateien in älteren InDesign-Versionen öffnen zu können. Bereits gibt es auf Basis dieses Formates auch Lösungen von Drittherstellern. So greift Software für das Übersetzungsmanagement auf inx. Andere transformieren inx, um aus einer Print- eine Webseite zu erstellen. Zum anderen basiert das Datenformat von InCopy auf XML mit eigenen Erweiterungen. Redaktoren, die mit InCopy arbeiten, und Layouter, die in InDesign gestalten, tauschen XML-Files aus.

Dies ist jedoch nur die eine Seite – diejenige, die von Adobe quasi vorgegeben ist. Dann existiert aber noch eine viel spannendere: der XML-Import. Damit holen Sie Daten, die aus einer Kunden-Datenbank exportiert wurden, in das Layout. XML können heute die meisten Datenbanken herausschreiben, und viele Lieferanten sind imstande, brauchbares XML zu liefern.

XML transformieren

Klar, das aus der Datenbank exportierte XML muss nicht dem entsprechen, was Sie in InDesign für das Layout brauchen. Das spielt auch keine Rolle, denn XML lässt sich umformen. Die Technologie dafür heisst Extensible Stylesheet Language-Transformation, kurz XSL-T. Stark vereinfacht ist das ein Suchen/Ersetzen in der XML-Datei. Ein XSL-Style­sheet gibt vor, was gemacht werden soll. Gerechnet wird die Angelegenheit dann von einem XSLT-Prozessor. Dieser ist seit InDesign CS3 bereits in InDesign verbaut. Alternativ oder für InDesign CS2 könnten Sie auch den über das Terminal von OS X verfügbaren «xsltproc» verwenden. Ein XSL-Stylesheet zu schreiben, ist keine einfache Arbeit für Layouter ohne Programmier­erfahrung. Oft ist es daher am rentabelsten, Stylesheets bei Spezialisten anfertigen zu lassen.

Auch beim Export aus InDesign CS3 können Sie eine XSL-Transformation auf das XML anwenden lassen. Der XML-Export spielt in der Praxis eine untergeordnete Rolle. Das hat zwei Gründe. Brauchen Sie vom InDesign-File ein XML-Abbild, verwenden Sie besser das InDesign Interchange Format, weil da schon alles fixfertig drin ist. Wollen Sie crossmedial publizieren, soll also gleicher Inhalt zum Beispiel im Web und im Print erscheinen, trennen Sie den Inhalt besser vor dem Import nach InDesign. Das ist effizienter.

Grenzen von XML – wie CS3 damit umgeht

XML für InDesign hat Grenzen. Wollen Sie eine Datenbank bidirektional an InDesign anbinden, um allfällige Änderungen, die Sie in InDesign gemacht haben, zurück in die Datenbank zu schreiben, so ist XML nicht das geeignete Format. Da nehmen Sie besser ein Plug-in, mit dem Sie über ODBC (Open DataBase Connectivity) InDesign direkt mit der Datenbank kommunizieren lassen können.

Bis InDesign CS2 war XML ohne Dritthersteller-Erweiterungen vor allem für «telefonbuchartige» Layouts geeignet. Mit InDesign CS3 hat sich dies dank der XML rule sets geändert. XML rule sets sind Sets, die als Script vorliegen und Instruktionen enthalten. Die Sets durchsuchen das XML und führen bei Treffern dem Script hinterlegte Aufgaben aus. Für Techniker: Die Konditionen werden in XPath geschrieben. Eine Aufgabe kann sein, dem Text aufgrund von Regeln Absatz- und Zeichenformate automatisch zuzuweisen. Oder auch Rahmen aufzuziehen und ein Layout zu bauen. Möglich ist grundsätzlich alles, was Sie in InDesign auch von Hand machen könnten.

Einfach gesagt, lässt sich XML jetzt scripten. Auch dies ist eine Aufgabe für Leute mit Programmier-Hintergrund. Wichtig für Sie als Anwender ist, dass sich mit InDesign CS3 komplexere Layouts über XML automatisieren lassen, ohne dabei auf Dritthersteller-Plug-ins angewiesen zu sein. Wer keinen Zugriff auf interne oder externe Programmierer hat, dürfte aber mit einem Plug-in nach wie vor einfacher zum Ziel kommen.

XML-Werkzeuge von InDesign

Die Schaltzentrale für XML in InDesign ist die Strukturansicht. Diese laden sie über Struktur einblenden. Ich nutze dafür oft den Kurzbefehl Apfel-Alt-1. Sie können aber auch auf den Balken am linken Rand des Dokumentfensters klicken, um diese Ansicht zu holen. Oben rechts in der Strukturansicht hat es ein Menü, über das Sie die meisten XML-Funk­tionen aufrufen können.

Um XML zu importieren, klicken Sie mit der rechten Maus­taste auf das Root-Element innerhalb der Strukturansicht. Achten Sie beim Import darauf, sich die Importoptionen anzeigen zu lassen. In den Optionen bestimmen Sie, ob eine XSL-Transformation ausgeführt werden soll. Zudem sind darin weitere wichtige Optionen wie das Verknüpfen von XML und der Umgang mit whitespace enthalten.

Nach dem Import von XML passiert im Layout noch gar nichts, das XML landet erst mal in der Strukturansicht. Mit Drag&Drop könnten Sie nun einzelne XML-Elemente oder das ganze File in das Layout ziehen. Doch dies ist die unterste Stufe. Hätten Sie vorgängig in InDesign Objekte mit Tags versehen und würden diese mit den Tags in dem zu importierenden XML-File übereinstimmen, könnten Sie den Inhalt des XML-Files direkt in diese Objekte einfliessen lassen.

Stellen Sie sich diese Situation nun in einem 500-seitigen, aufwändig gestalteten Katalog vor! Zu jedem Produkt muss ein entsprechender Container vor dem Import getaggt worden sein. Das ist in der Praxis nicht machbar. Genau hier kommen eben die mit InDesign CS3 eingeführten XML rule sets (siehe oben) zum Einsatz. Sie analysieren das importierte XML, erstellen Objekte und lassen XML-Inhalt einlaufen.

Taggen und formatieren

Tags sind die Bezeichnungen von XML-Elementen. Diese können Sie mit dem Tag-Panel ( Tags) in InDesign erstellen. In der Praxis sind die Tags aber oft schon vorgegeben. Danach importieren Sie sie über das Menü des Tag-Panels entweder aus einem XML-File oder einer anderen InDesign-Datei.

Der Hauptvorteil von XML ist, dass die Struktur und nicht das Aussehen beschrieben wird. Um jetzt importiertes XML zu formatieren, weisen Sie XML-Elementen Absatz- und Zeichenformate zu. Das machen Sie am einfachsten über das Menü des Tag-Panels mit Tags zu Formaten zuordnen. Links sehen Sie dann die Tags, die sie je einem Absatz- oder Zeichenformat zuweisen können. Im Idealfall benennen Sie die Tags und die Absatz- und Zeichenformate genau gleich, sodass Sie dann Nach Name zuordnen können.

Praxisbeispiele

In der Praxis kommt XML mit InDesign immer dann zum Einsatz, wenn strukturierte Daten – in der Regel aus einer Datenbank – automatisch in ein Layout fliessen sollen. Bis InDesign CS2 wurden so wegen fehlender Funktionen vor allem Layouts mit «telefonbuchartigem» Lauftext automatisiert. Eine aufwändigere Gestaltung haben wir bis anhin mit Plug-ins zu InDesign gelöst. Dabei kam jedoch als Austauschformat nicht immer XML zum Einsatz.

Event-Kalender Agendalux (www.agendalux.lu): Einer unserer Kunden druckt diesen achtzigseitigen Veranstaltungskalender. Die Daten für den Teil mit den Events bekommt er als XML geliefert. In InDesign CS2 hat er nun ein Template mit Tags und Formaten gebaut, in das er das gelieferte XML einlaufen lässt.

Bei solchen Projekten ist die Absprache zwischen dem Datenlieferanten und der Druckvorstufe enorm wichtig. Vor allem müssen Tags und deren Reihenfolge klar geregelt sein. Dafür lohnt es sich oft, eine Document Type Definition (DTD) schreiben zu lassen, in der die Tags und die Reihenfolge vorgegeben werden.

Ein anderer Kunde betreibt eine Website mit einem Event-Kalender. Regelmässig gibt es diesen Kalender auch in gedruckter Form. Nun exportiert der Kunde eine XML-Datei aus der Datenbank der Website. Diese lässt er in ein InDesign-Template einfliessen. Die Zuweisung der Zeichen- und Absatzformate geschieht über das automatische, weiter vorne im Text beschriebene Mapping. Nach dem Import wird der Umbruch von Hand in InDesign noch verfeinert. Für Layoutprofis ein kleiner Aufwand. Dies zu automatisieren, wäre viel zu zeitintensiv gewesen und unter dem Strich teurer. Auch beim Automatisieren gilt das Pareto-Prinzip: Mit 20 Prozent Aufwand können Sie 80 Prozent automatisieren. Für die letzten 20 Prozent brauchen Sie dann 80 Prozent der Zeit. Dies könnte betriebswirtschaftlich niemals begründet werden.

Fazit

InDesign CS3 ist ein grosser Schritt Richtung Automation. Die XML rule sets erweitern das Einsatzgebiet von XML massiv. Klar, ehrlich und sinnvoll ist die Stellungnahme von Chad Siegel, Product Manager InDesign: Während man mit CS2 gedacht habe, XML auch für Kreative locker einsetzbar zu machen, habe man mit CS3 die Strategie geändert. XML gelte jetzt – mit den enormen Erweiterungen – als Programmierersache. Nur das sinnvolle Zusammenspiel von Kreativen und Technikern führe zum vollen Erfolg.